import string def is_priem(getal: int) -> bool: for i in range(2, getal): if getal % i == 0: return False return True # extra functie toegevoegd - is niet verplicht def volgende_priem(getal: int) -> int: priem = False while not priem: getal += 1 priem = is_priem(getal) return getal def get_sleutel(startgetal: int) -> int: p1 = volgende_priem(startgetal) p2 = volgende_priem(p1) sleutel = (p1 * p2) % 26 return sleutel def codeer(g: int, zin: str) -> str: if not type(g) == int: return zin if g <= 0: return zin sleutel = get_sleutel(g) vertaling = "" for l in zin: if not (l in string.punctuation or l.isdigit() or l == " "): if l.isupper(): x = chr((ord(l) - ord("A") + sleutel) % 26 + ord("A")) else: x = chr((ord(l) - ord("a") + sleutel) % 26 + ord("a")) sleutel += 1 vertaling += x else: vertaling += l return vertaling print(codeer(29, "Dd8z"))